package com.ftg.learn.chapter09.maptest;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.*;

/**
 * 有如下 Student 对象
 * 其中，classNum 表示学生的班号，例如“class05”。
 * 在这个 list 的基础上，完成下列要求：
 * 1） 计算所有学生的平均年龄
 * 2） 计算各个班级的平均分
 *
 * key：班级
 *
 * value: List <Integer>
 *
 * @author lijiaxin
 * @version 1.0
 * @date 2023/8/18 11:17
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {

    private String name;
    private int age;
    private int score;
    private String classNum;

    public static void main(String[] args) {
        List<Student> list = new ArrayList();
        list.add(new Student("Tom", 18, 100, "class05"));
        list.add(new Student("“Jerry”", 22, 70, "class04"));
        list.add(new Student("“Owen”", 25, 90, "class05"));
        list.add(new Student("“Jim”", 30,80 , "class05"));
        list.add(new Student("“Steve”", 28, 66, "class06"));
        list.add(new Student("“Kevin”", 24, 100, "class04"));

        System.out.println(list);
        int avg=0;
        int sum=0;
        for (int i = 0; i < list.size(); i++) {
            sum+=list.get(i).getAge();
            avg=sum/list.size();
        }
        System.out.println("平均年龄"+ avg);

//        Map<String,List<Integer>> map=new HashMap<>();
//        Set<Map.Entry<String, List<Integer>>> entries = map.entrySet();
//        for (Map.Entry<String, List<Integer>> entry:entries){
//            System.out.println(entry.getKey());
//        }

        double sumScore4 = 0;
        double sumScore5 = 0;
        double sumScore6 = 0;
        double num4 = 0;
        double num5 = 0;
        double num6 = 0;
        for(int i=0; i<list.size(); i++) {
            if(list.get(i).getClassNum().equals("class04")) {
                sumScore4+=list.get(i).getScore();
                num4++;
            }
            if(list.get(i).getClassNum().equals("class05")) {
                sumScore5+=list.get(i).getScore();
                num5++;
            }
            if(list.get(i).getClassNum().equals("class06")) {
                sumScore6+=list.get(i).getScore();
                num6++;
            }
        }
        System.out.print("class04的平均分数：");
        System.out.println(sumScore4/num4);
        System.out.print("class05的平均分数：");
        System.out.println(sumScore5/num5);
        System.out.print("class06的平均分数：");
        System.out.println(sumScore6/num6);
    }
}
